<!doctype html>
<html lang="zh-CN" xmlns:th="http://www.thymeleaf.org"
      xmlns:layout="http://www.ultraq.net.nz/web/thymeleaf/layout"
      layout:decorator="base"
      th:with="pageTitle='规章历史详情页'">
<head>
    <link rel="stylesheet" th:href="@{/css/index.css}">
    <style>
        .search-form {
            background-color: #fff;
            padding: 10px;
            line-height: 50px;
            height: 50px;
            margin: 15px 0;
            vertical-align: middle;
            text-align: left;
        }

        .input {
            width: 350px;
        }
    </style>
</head>
<body>
<th:block layout:fragment="custom_content">
    <el-form ref="form" :model="form" class="search-form">
        <!--标题：-->
        <input type="hidden" id="id"/>
        <input type="hidden" id="ruleId"/>

        <el-button type="primary" size="mini" @click="revert">还原版本</el-button>
        <el-button type="primary" size="mini" @click="deleteVersion">删除版本</el-button>
        <el-button type="primary" size="mini" @click="goback">返回</el-button>
    </el-form>
    <div>
        标题：<label id="title"></label>
    </div>
    <div id="content" style="background-color: #fff;padding:10px;margin-top: 5px;">
        <!--<p>欢迎使用 <b>wangEditor</b> 富文本编辑器</p>-->
    </div>

</th:block>
<th:block layout:fragment="javascript">
    <script>
        var indexVue = new Vue({
            el: '#app',
            data: function () {
                return {
                    siderWidthDialog:false,
                    siderbarWidth:15,
                    keyword: '',
                    form: {
                        title: '',
                        content: ''
                    },
                    isCollapse: false,
                    defaultIndex: '1',
                    menus: [],
                    regulationMenus: [],
                    breadcrumbs:['规章历史详情页'],
                    deptTrees:[]
                }
            },
            methods: {
                revert: function () {
                    var $this = this;
                    var id = $("#id").val();
                    var ruleId = $("#ruleId").val();
                    $.ajax({
                        cache: true,
                        url: '/regulation/revertregulation',
                        type: 'GET',
                        data: {id: id},
                        dataType: 'json',
                        contentType: 'application/json',
                        async: false,
                        success: function (data) {
                            if (data.value.success == "success") {
                                $this.$message('还原版本成功');
                                location.href = "/regulation/listversion/" + ruleId;
                            }
                        }
                    });
                },
                goback: function () {
                    var ruleId =   $("#ruleId").val();
                    location.href = "/regulation/listversion/" + ruleId;

                },
                deleteVersion: function () {
                    var $this = this;
                    var id = $("#id").val();
                    $.ajax({
                        cache: true,
                        url: '/regulation/deleteregulation',
                        type: 'GET',
                        data: {id: id},
                        dataType: 'json',
                        contentType: 'application/json',
                        async: false,
                        success: function (data) {
                            if (data.value.success == "success") {
                                $this.$message('删除版本成功');
                            }
                            // sessionStorage.setItem("id", data.value.ruleid);
                            location.href = "/regulation/listversion/" + data.value.ruleid;
                        }
                    });
                },initMenu: function () {
                    var $this = this;
                    var data = commonInitMenu($this);
                },
                toggleMenu: function () {
                    this.isCollapse = !this.isCollapse;
                    window.localStorage.setItem('isCollapse',this.isCollapse);
                },
                changeSiderWidth:function(value){
                    changeSiderWidth(this,value);
                },
                openChangeSiderWidth:function(){
                    this.siderWidthDialog=true;
                }
            },
            created: function () {
                initCssProperty(this);
            }
        });

        function init() {
            indexVue.initMenu();
        }

        $(function () {
            init();
            var strs = location.href.split("/");
            var id = strs[strs.length - 1];
            // var id = sessionStorage.getItem("his_id");
            $("#id").val(id);
            var ruleId = strs[strs.length - 2];
            $("#ruleId").val(ruleId);
            $.ajax({
                cache: true,
                url: '/regulation/showrulehis?newDate='+Math.random(),
                type: 'GET',
                data: {ruleId: id},
                dataType: 'json',
                contentType: 'application/json',
                async: false,
                success: function (data) {
                    var b = new Base64();
                    var text = b.decode(data.value.rule.content);
                    $("#content").html(text);
                    $("#title").html(data.value.rule.title);
                }
            });
            changeFooterHeight();
        })

        function getContent() {
            return editor.txt.html();
        }

        //解析转义后的富文本标签
        function HTMLDecode(text) {
            var temp = document.createElement("div");
            temp.innerHTML = text;
            var output = temp.innerText || temp.textContent;
            temp = null;
            return output;
        }

        function Base64() {

            _keyStr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";

            // public method for encoding
            this.encode = function (input) {
                var output = "";
                var chr1, chr2, chr3, enc1, enc2, enc3, enc4;
                var i = 0;
                input = _utf8_encode(input);
                while (i < input.length) {
                    chr1 = input.charCodeAt(i++);
                    chr2 = input.charCodeAt(i++);
                    chr3 = input.charCodeAt(i++);
                    enc1 = chr1 >> 2;
                    enc2 = ((chr1 & 3) << 4) | (chr2 >> 4);
                    enc3 = ((chr2 & 15) << 2) | (chr3 >> 6);
                    enc4 = chr3 & 63;
                    if (isNaN(chr2)) {
                        enc3 = enc4 = 64;
                    } else if (isNaN(chr3)) {
                        enc4 = 64;
                    }
                    output = output +
                        _keyStr.charAt(enc1) + _keyStr.charAt(enc2) +
                        _keyStr.charAt(enc3) + _keyStr.charAt(enc4);
                }
                return output;
            }

            // public method for decoding
            this.decode = function (input) {
                var output = "";
                var chr1, chr2, chr3;
                var enc1, enc2, enc3, enc4;
                var i = 0;
                input = input.replace(/[^A-Za-z0-9\+\/\=]/g, "");
                while (i < input.length) {
                    enc1 = _keyStr.indexOf(input.charAt(i++));
                    enc2 = _keyStr.indexOf(input.charAt(i++));
                    enc3 = _keyStr.indexOf(input.charAt(i++));
                    enc4 = _keyStr.indexOf(input.charAt(i++));
                    chr1 = (enc1 << 2) | (enc2 >> 4);
                    chr2 = ((enc2 & 15) << 4) | (enc3 >> 2);
                    chr3 = ((enc3 & 3) << 6) | enc4;
                    output = output + String.fromCharCode(chr1);
                    if (enc3 != 64) {
                        output = output + String.fromCharCode(chr2);
                    }
                    if (enc4 != 64) {
                        output = output + String.fromCharCode(chr3);
                    }
                }
                output = _utf8_decode(output);
                return output;
            }

            // private method for UTF-8 encoding
            _utf8_encode = function (string) {
                string = string.replace(/\r\n/g, "\n");
                var utftext = "";
                for (var n = 0; n < string.length; n++) {
                    var c = string.charCodeAt(n);
                    if (c < 128) {
                        utftext += String.fromCharCode(c);
                    } else if ((c > 127) && (c < 2048)) {
                        utftext += String.fromCharCode((c >> 6) | 192);
                        utftext += String.fromCharCode((c & 63) | 128);
                    } else {
                        utftext += String.fromCharCode((c >> 12) | 224);
                        utftext += String.fromCharCode(((c >> 6) & 63) | 128);
                        utftext += String.fromCharCode((c & 63) | 128);
                    }

                }
                return utftext;
            }

            // private method for UTF-8 decoding
            _utf8_decode = function (utftext) {
                var string = "";
                var i = 0;
                var c = c1 = c2 = 0;
                while (i < utftext.length) {
                    c = utftext.charCodeAt(i);
                    if (c < 128) {
                        string += String.fromCharCode(c);
                        i++;
                    } else if ((c > 191) && (c < 224)) {
                        c2 = utftext.charCodeAt(i + 1);
                        string += String.fromCharCode(((c & 31) << 6) | (c2 & 63));
                        i += 2;
                    } else {
                        c2 = utftext.charCodeAt(i + 1);
                        c3 = utftext.charCodeAt(i + 2);
                        string += String.fromCharCode(((c & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63));
                        i += 3;
                    }
                }
                return string;
            }
        }

    </script>
</th:block>
</body>
</html>